package com.mc.code.mapper;

import com.mc.code.entity.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.List;
@Component
public interface UsersMapper {

    //根据用户编号查找用户信息
    List<CodeUsers> codeUsers (String userNo);

    void updateContact(@Param("users") CodeUsers codeUsers);

//    查找项目发布人
    String nickname(@Param("promulgatorId") int promulgatorId);

//    查找身份证信息
    List<CodeUserId> userId(@Param("userNo") String userNo);

//    修改头像
    void updateImage(@Param("user") CodeUsers user);

//    查找所有技能方向
    List<CodeSkill> selectSkills();

//    查找所有会的技能
    List<Skill> selectGoodSkills(@Param("userNo")String userNo);

//    更新技能之前的删除
    void delSkill(@Param("skill") Skill skill);

    void insertSkill(@Param("skill") Skill skill);

    double selectBanlance(@Param("userno") String userNo);

    void recharge(@Param("v") double v,@Param("userNo") String userNo);

    int selectPayCondition(@Param("userNo") String userNo);

    void updatePsd(@Param("userNo") String userNo,@Param("psd") String psd);

    String findPsd(@Param("userNo") String userNo);

    List<CodeUsers> partakes(@Param("itemNo") Integer itemNo);

    void updateCondition(@Param("itemNo") Integer itemNo, @Param("partakeNo") String partakeNo,@Param("partakeCondition") Integer partakeCondition);

    void insertUserCard(@Param("userNo") int userNo,@Param("tname") String name,@Param("idNum") String idNum);

    //根据用户编号查找用户的信息
    CodeUsers findUserByUserNo(int userNo);

//    查找真实姓名
    List<userCard> name(@Param("partakeNo") String partakeNo);

//————————————————————————————————————————后台

    //根据用户编号查找用户
    CodeUsers queryByUserNo(int userNo);

    //删除普通用户
    int deleteCodeUserByUserNo(int userNo);

    //更新封停用户
    int updateCodeUser(CodeUsers codeUsers);

    //更新未封停用户
    int modifyCodeUser(CodeUsers codeUsers);

    //模糊查询普通用户
    List<CodeUsers> queryfaintnessUser(@Param("type") String type,
                                       @Param("state") String state,
                                       @Param("currentPage") int currentPage,
                                       @Param("pageCount") int pageCount
                                        );

    //获得总页数
    int getTotalPage(@Param("state")String state,@Param("type")String type);

    String payPsd(String userNo);

    String getOldPsd(String userNo);

    void pay(int userNo);
}
